<?php
//测试控制器类
class IndexController extends HeadController{
    //动作方法
    public function index(){
        // p($_SESSION);
    	// 获得分类，子级分类和子级的子级分类重组
    	$cateData = $this->_get_cate();
    	// 分配给前端
    	$this->assign('cateData',$cateData);
    	// p($cateData);
        session('url',__ACTION__);

        // 获得精品商品
        $goodData = K('Goods')->limit(8)->all();
        $this->assign('goodData',$goodData);

        // 获得品牌
        $brandData = K('Brand')->where('is_hot=1')->limit(6)->all();
        $this->assign('brandData',$brandData);

        // 获得推荐商品
        $goodHotData = K('Goods')->order('new_price desc')->limit(6)->all();
        // p($goodHotData);
        $this->assign('goodHotData',$goodHotData);
        //显示视图
        $this->display();
    }

    // 获得分类，子级分类和子级的子级分类重组
    private function _get_cate(){
    	$model = K('Category');
    	// 获得顶级分类
    	$data = $model->where("pid=0")->order('sort asc')->all();
        // 把子级分类压入顶级分类的键名son的数组中形成二维数组
    	foreach ($data as $k => $v) {
    		$data[$k]['son']=$model->where("pid={$v['cid']}")->all();
    	}
    	foreach ($data as $k => $v) {
            // 把子级分类的子级压入自己分类的键名_son的数组中形成三维数组
    		foreach ($v['son'] as $key => $value) {
    			$data[$k]['son'][$key]['_son'] = $model->where("pid={$value['cid']}")->all();
    		}
    	}
    	// 反出数组
    	return $data;
    }
}
